package com.nulldev.util.scripting.cup.instructions;

public interface CupInstruction {

	public String getDisplayableInstructionName();

	public int getInstructionID();

	public int getInstructionArgumentsCount();

	public String[] getDefaultInstructionArguments();

	public Object[] getInstructionArguments();

	public default int getRequiredInstructionArguments() {
		return this.getInstructionArgumentsCount();
	}

	public default int getOptionalInstructionArguments() {
		return 0;
	}

}
